/*
 * COisBufferedInputHandler.h
 *
 *  Created on: 28.04.2009
 *      Author: markus
 */

#ifndef COISBUFFEREDINPUTHANDLER_H_
#define COISBUFFEREDINPUTHANDLER_H_

#include <OIS.h>
#include "../src/ErrorOutputs.h"
#include "../Objects/CLivingObject.h"


class COisBufferedInputHandler : public OIS::KeyListener, public OIS::MouseListener
{
public:
	COisBufferedInputHandler(std::string strPar1, std::string strPar2, CLivingObject *player);
	~COisBufferedInputHandler();

private:
	virtual bool keyPressed(const OIS::KeyEvent &ev);
	virtual bool keyReleased(const OIS::KeyEvent &ev);

	virtual bool mousePressed(const OIS::MouseEvent &ev, OIS::MouseButtonID id);
	virtual bool mouseReleased(const OIS::MouseEvent &ev, OIS::MouseButtonID id);
	virtual bool mouseMoved(const OIS::MouseEvent &ev);

protected:
	OIS::InputManager *m_pInputMgr;
	OIS::Keyboard *m_pKeyboard;
	OIS::Mouse *m_pMouse;
	CLivingObject *m_pPlayer;
	bool m_bContinue;

};

#endif /* COISBUFFEREDINPUTHANDLER_H_ */
